﻿using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Distrackting.DataLayer;
using System.Collections.Generic;
using System.Collections;

namespace Distrackting.BusinessLayer
{
    public class GerirTipoPercurso
    {
        public static List<Tipo_percurso> getTipo_percurso()
        {
            try
            {
                return dataTipo_percurso.getTipo_percursos().ToList();

            }
            catch (Exception) { throw new Exception("Não foi possível consultar a lista do tipo de percurso."); }
        }

        public void inserirTipoPercurso(String descricao)
        {
            try
            {
                Tipo_percurso a = new Tipo_percurso();
                a.descricao = descricao;
                dataTipo_percurso.createTipo_percurso(a);
            }
            catch (Exception)
            {
                throw new Exception("Não foi possível inserir o tipo de percurso.");
            }
        }

        public void apagarTipoPercurso(Guid cod_Tipo_percurso)
        {
            try
            {
                Tipo_percurso a = dataTipo_percurso.getTipo_percurso(cod_Tipo_percurso);
                dataTipo_percurso.deleteTipo_percurso(a);
            }
            catch (Exception )
            {
                throw new Exception("Não foi possível remover o tipo de percurso.");
            }
        }

        public Tipo_percurso getTipoPercurso(Guid cod_Tipo_percurso)
        {
            try
            {
                return dataTipo_percurso.getTipo_percurso(cod_Tipo_percurso);
            }
            catch (Exception )
            {
                throw new Exception("Não foi possível aceder ao tipo de percurso.");
            }
        }

        public Tipo_percurso getTipoPercursoByDescricao(String descricao)
        {
            try
            {
                Tipo_percurso tp = new Tipo_percurso();
                foreach (Tipo_percurso a in dataTipo_percurso.getTipo_percursos().ToList())
                {
                    if (a.descricao == descricao) return a;
                }
                return tp;
            }
            catch (Exception)
            {
                throw new Exception("Não foi possível aceder ao tipo de percurso pretendido.");
            }
        }
    }
}
